package com.jinbo.sxzq;

import java.util.ArrayList;
import java.util.List;

/*************项目常量***************/
public interface ProjectConstants {
    /************棋子类型****************/
    public static class ChessType {
        public static final int KONG = 0;
        public static final int SHU = 1;
        public static final int NUI = 2;
        public static final int HU = 3;
        public static final int TU = 4;
        public static final int LONG = 5;
        public static final int SHE = 6;
        public static final int MA = 7;
        public static final int YANG = 8;
        public static final int HOU = 9;
        public static final int JI = 10;
        public static final int GOU = 11;
        public static final int ZHU = 12;
    }

    /************棋子名称****************/
    public static class ChessName {
        public static final String KONG = "空白";
        public static final String SHU = "子鼠";
        public static final String NUI = "丑牛";
        public static final String HU = "寅虎";
        public static final String TU = "卯兔";
        public static final String LONG = "辰龙";
        public static final String SHE = "巳蛇";
        public static final String MA = "午马";
        public static final String YANG = "未羊";
        public static final String HOU = "申猴";
        public static final String JI = "酉鸡";
        public static final String GOU = "戌狗";
        public static final String ZHU = "亥猪";
    }

    /************棋子介绍****************/
    public static class ChessMasage {
        public static final String KONG = "这个用来当棋盘";
        public static final String SHU = "【鼠】：\n生命：1 能量：2 攻击力：1 行动力：1 \n能力：【增殖】在出生位置生成一个【鼠】。";
        public static final String NUI = "【牛】：\n生命：3 能量：2 攻击力：1 行动力：2 \n能力：【治愈】距离自己范围1内的友方棋子获得生命+1。";
        public static final String HU = "【虎】：\n生命：3 能量：0 攻击力：2 行动力：2 \n能力：【狩猎】每击杀一个敌方棋子获得生命+1，攻击力+1。";
        public static final String TU = "【兔】：\n生命：1 能量：2 攻击力：1 行动力：2 \n能力：【迅捷】消耗所有能量获得消耗能量的行动力,且可以攻击多次";
        public static final String LONG = "【龙】：\n生命：4 能量：0 攻击力：3 行动力：1 \n能力：【龙息】无法移动，攻击距离自己最近的敌方棋子";
        public static final String SHE = "【蛇】：\n生命：2 能量：0 攻击力：2 行动力：1 \n能力：【隐匿】攻击前不会成为其他棋子的攻击对象，击杀敌方棋子获得【隐匿】";
        public static final String MA = "【马】：\n生命：3 能量：0 攻击力：1 行动力：2 \n能力：【千里】开场时获得额外的3点行动力，击杀敌方棋子获得1行动力";
        public static final String YANG = "【羊】：\n生命：2 能量：0 攻击力：0 行动力：2 \n能力：【吸魂】无法攻击，攻击改为吸收距离1格的敌方棋子1能量，若敌方棋子无能量则吸收一点生命。";
        public static final String HOU = "【猴】：\n生命：2 能量：2 攻击力：1 行动力：2 \n能力：【借势】周围友方棋子多时生命+1，周围敌方棋子多时攻击力+1";
        public static final String JI = "【鸡】：\n生命：2 能量：1 攻击力：1 行动力：1 \n能力：【猛禽】生命值大于最大生命值时最大行动力+1，小于最大生命值攻击力+1。";
        public static final String GOU = "【狗】：\n生命：2 能量：3 攻击力：1 行动力：2 \n能力：【羁绊】获得（生命+1，攻击力+1）*友方棋子死亡数。";
        public static final String ZHU = "【猪】：\n生命：6 能量：0 攻击力：1 行动力：1 \n能力：【肉山】每回合获得生命+1。";
    }

    /************棋子所属权****************/
    public static class ChessOwner{
        public static final int OUR = 1;//我方
        public static final int ENEMY = -1;//敌方
        public static final int EMPTY = 0;//空
    }

    /************棋子状态****************/
    public static class ChessState{
        public static final int NO_DEPLOY = 0;//未部署
        public static final int DEPLOY = 1;//已部署
        public static final int SURVIVE = 1;//存活
        public static final int DEATH = 0;//死亡
    }

    /************棋盘属性****************/
    public static class BoardAttributes{
        public static final int LENGTH = 10;//棋盘长度
        public static final int WIDTH = 10;//棋盘宽度
        public static final int BOARD_NO_DEPLOY = 0;//棋盘未部署状态
        public static final int BOARD_DEPLOY = 1;//棋盘部署状态
        public static final int MAX_DEPLOY =12;//最大棋子可部署数
    }

    /************游戏状态****************/
    public static class GameState{
        public static final int Game_DEPLOY = 0;//游戏部署阶段
        public static final int GAME_PLAY = 1;//游戏运行阶段
        public static final int GAME_END = 2;//游戏结算阶段
    }

    /************关卡信息**************/
    /*********level_*[i][2]第i个棋子类型、level_*[i][0]/level_*[i][1]第i个棋子所在行列*******************/
    public static class GameLevel{
        public static final int[][] level_1 = {
                {0,0,1},{0,1,2},{0,3,3},
                {2,0,1},{1,1,1},{2,3,3},
        };
        public static final int[][] level_2 = {
                {1,0,1}
        };
        public static final int[][] level_3 = {
                {1,1,1}
        };
        public static final int[][] level_4 = {
                {1,2,1}
        };
        public static final int[][] level_5 = {
                {1,3,1}
        };
        public static final int[][] level_6 = {
                {1,5,1}
        };
        public static final int[][] level_7 = {
                {1,7,1}
        };
        public static final int[][] level_8 = {
                {1,8,1}
        };
        public static final int[][] level_9 = {
                {1,9,1}
        };
        public static final int[][] level_10 = {
                {3,0,3}
        };
    }
}
